การติดตั้ง Elastic Stack
สามารถทำตามขั้นตอนการติดตั้ง ทั้งหมดจากทางเว็บไซด์ของ Elastic ในที่นี้เราจะทำการติดตั้ง Elasticsearch ,x-pack ,kibana และ logstash ตามลำดับ โดยสามารถแยก server หรือลองลงทั้งหมดในเครื่องตัวเองก่อนก็ได้ค่ะ
เราจะทำการติดตั้ง Elasticsearch ด้วย rmp
1. ติดตั้ง Java ด้วย version 8 ขึ้นไป
yum -y remove java* yum install java-1.8.0-openjdk -y java -version
2. อัพเดตและอัพเกรด Linux
yum -y update yum -y upgrade
3. ติดตั้ง Elasticseach
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
สร้างไฟล์ elasticsearch.repo ใน /etc/yum.repos.d/
vim /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-5.x] name=Elasticsearch repository for 5.x packages baseurl=https://artifacts.elastic.co/packages/5.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
sudo yum install elasticsearch
4. Running elasticsearch
sudo /bin/systemctl enable elasticsearch.service sudo systemctl start elasticsearch.service
การ check status และการ stop service
sudo systemctl status elasticsearch.service sudo systemctl stop elasticsearch.service
การตรวจสอบการทำงานของ elasticsearch
curl http://localhost:9200
ผลลัพธ์ที่ได้จะมีลักษณะดังนี้
{ "name" : "Cp8oag6", "cluster_name" : "elasticsearch", "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA", "version" : { "number" : "5.6.3", "build_hash" : "f27399d", "build_date" : "2016-03-30T09:51:41.449Z", "build_snapshot" : false, "lucene_version" : "6.6.1" }, "tagline" : "You Know, for Search" }
5. การ set configuration ของ elasticsearch
elasticsearch จะ load configuration จาก /etc/elasticsearch/elasticsearch.yml
ตัวอย่างการ Configuring Elasticsearch
vim /etc/elasticsearch/elasticsearch.yml
cluster.name: "yourClusterName" network.host: 0.0.0.0 path.data: /var/lib/elasticsearch path.logs: /var/log/elasticsearch discovery.zen.minimum_master_nodes: 2 discovery.zen.ping.unicast.hosts: [host1,host2] bootstrap. memory_lock: true
การติดตั้ง Kibana
1. อัพเดตและอัพเกรด Linux
yum -y update yum -y upgrade
2. ติดตั้ง Kibana
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
สร้างไฟล์ kibana.repo ใน /etc/yum.repos.d/
vim /etc/yum.repos.d/kibana.repo
[kibana-5.x] name=Kibana repository for 5.x packages baseurl=https://artifacts.elastic.co/packages/5.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
sudo yum install kibana
4. Running Kibana
sudo /bin/systemctl enable kibana.service sudo systemctl start kibana.service
การ check status และการ stop service
sudo systemctl status kibana.service sudo systemctl stop kibana.service
5. การ set configuration ของ kibana
Kibana จะ load configuration จาก /etc/kibana/kibana.yml
ตัวอย่างการ Configuring Kibana
vim /etc/kibana/kibana.yml
server.name: yourServerName server.port: 5601 # port server.host: "localhost" elasticsearch.url: http://localhost:9200 elasticsearch.username: username elasticsearch.password: password
เนื่องจาก Kibana คือ web application ในขั้นตอนนี้เราจะสามารถเปิด kibana ผ่าน port ที่เราได้ตั้งไว้ใน configuration file ตัวอย่างเช่น localhost:5601 หรือ http://YOURDOMAIN.com:5601
ในการใช้งานครั้งแรกจะต้องมีการกำหนด index pattern ซึ่งเราสามารถใช้ Sample Data
ตัวอย่างการ check index
curl 'localhost:9200/_cat/indices?v'
หลังจากกำหนด index pattern และหากมี log เกิดขึ้น Kibana จะแสดงผลดังนี้
การติดตั้ง Logstash
1. อัพเดตและอัพเกรด Linux
yum -y update yum -y upgrade
2. ติดตั้ง Logstash
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
สร้างไฟล์ logstash.repo ใน /etc/yum.repos.d/
vim /etc/yum.repos.d/logstash.repo
[logstash-5.x] name=Elastic repository for 5.x packages baseurl=https://artifacts.elastic.co/packages/5.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
sudo yum install logstash
3. Running Logstash
sudo systemctl start logstash.service
4. ตัวอย่างการทดลองสร้าง Event
cd logstash-5.6.3 bin/logstash -e 'input { stdin { } } output { stdout {} }'
5. การ Set configuration ของ Logstash
การ Set YML ของ logstash สามารถเข้าไป set ใน /etc/logstash/
vim /etc/logstash/logstash.yml
การ Set configuration ของ Logstash set ใน /etc/logstash/conf.d
vim /etc/logstash/conf.d/logstash.conf
More Information
- https://www.elastic.co/
- https://qbox.io/blog/welcome-to-the-elk-stack-elasticsearch-logstash-kibana